package com.learning.platform.repository;

import com.learning.platform.entity.Progress;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

@Repository
public interface ProgressRepository extends JpaRepository<Progress, Long> {
    
    /**
     * 查找用户在特定章节的进度
     */
    Optional<Progress> findByUserIdAndLessonId(Long userId, Long lessonId);
    
    /**
     * 查找用户的所有学习进度
     */
    List<Progress> findByUserIdOrderByLastTimeDesc(Long userId);
    
    /**
     * 查找用户在特定课程的所有章节进度
     */
    List<Progress> findByUserIdAndLessonIdIn(Long userId, List<Long> lessonIds);
    
    /**
     * 删除特定章节的所有进度记录
     */
    void deleteByLessonId(Long lessonId);
    
    /**
     * 删除多个章节的所有进度记录
     */
    void deleteByLessonIdIn(List<Long> lessonIds);
}











